// 5. 其他状态（已完成、已取消）略，只打印信息
/// <summary>
/// 具体状态类：订单已完成状态
/// 表示订单已经完成的最终状态
/// </summary>
public class CompletedState : OrderState 
{ 
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="context">订单上下文对象</param>
    public CompletedState(OrderContext context) : base(context) { }

    /// <summary>
    /// 支付操作 - 在已完成状态下不能支付
    /// </summary>
    public override void Pay() => Console.WriteLine("错误：订单已完成，无需支付");
    
    /// <summary>
    /// 发货操作 - 在已完成状态下不能发货
    /// </summary>
    public override void Ship() => Console.WriteLine("错误：订单已完成，无需发货");
    
    /// <summary>
    /// 完成操作 - 在已完成状态下已是最终状态
    /// </summary>
    public override void Complete() => Console.WriteLine("订单已完成");
    
    /// <summary>
    /// 取消操作 - 在已完成状态下不能取消
    /// </summary>
    public override void Cancel() => Console.WriteLine("错误：订单已完成，不能取消");
}